package com.liruan.rest.controller.response;

import com.liruan.rest.dto.ResponseDTO;
import com.liruan.rest.service.result.ResultCode;

import io.swagger.annotations.ApiModelProperty;

/**
 * 服务器响应的json数据格式
 * 
 * @author hao.wang
 *
 */
public class JSONResponse<T extends ResponseDTO>
{
	@ApiModelProperty("接口调用的状态码")
	private int resultCode;//接口调用的状态码
	@ApiModelProperty("接口调用成功时的提示信息")
	private String message;//接口调用成功时的提示信息
	@ApiModelProperty(value="接口返回数据中的实体信息", notes="调用成功时该字段内包含相应的实体信息， 调用失败时该字段一般为空")
	private T entity;//接口返回数据中的实体信息

	public JSONResponse(ResultCode resultCode, T dto)
	{
		this.resultCode = resultCode.getCode();
		this.entity = dto;
		this.message = resultCode.getDesc();
	}

	public int getResultCode()
	{
		return resultCode;
	}

	public String getMessage()
	{
		return message;
	}

	public T getEntity()
	{
		return entity;
	}

}
